#ifndef MoveAnim_H
#define MoveAnim_H

#include <iostream>
#include <string>
#include <SFML/Graphics.hpp>
#include "var_define.h"

/*! \file MoveAnim.h
\brief La spécification de la classe MoveAnim
Décrit la liste des méthodes et attributs associés à la classe MoveAnim
\author Kleb - Tous Droits Réservés
\date 11/10/2011
*/
/*! \class MoveAnim
\brief La classe représentant l'animation de déplacement d'un Pnj ou Character
Cette classe permets de modifier la position du sprite d'un Pnj ou d'un Character selon une direction donnée.
(le Sprite doit etre standardisé.
Cette classe possède les méthodes suivantes:
\li playMovement
\li setDirection
*/

using namespace std;
using namespace sf;

class MoveAnim
{
    public:
    /*! \fn MoveAnim()
\brief Constructeur par défaut de la classe MoveAnim
Fixe simplement le deplGauche a "true" (le personnage commencera son déplacement par un déplacement gauche)
*/
        MoveAnim();
/*! \fn ~MoveAnim()
\brief Desstructeur par défaut de la classe MoveAnim
*/
        ~MoveAnim();

        /*! \fn playMovement(Sprite& move)
\brief Lance le mouvement du personnage selon direction
*/
        void playMovement(Sprite& move);
        void setDirection(int d);
        int getDirection();


    private:
    /*! \var bool deplGauche
\brief booléen qui vaut "true" si le Sprite est en déplacement gauche, faux sinon.
(Un mouvement est composé d'un mouvement gauche (2 Sprites) et d'un mouvement droit (2 Sprites)
    */
        bool deplGauche;

        /*! \var int direction
\brief Entier qui indique la direction actuelle du sprite
(voir var_define.h)
    */
        int direction;
};

#endif // MoveAnim_H
